package com.diy.sigmund.diycommon.spring.anno;

import com.diy.sigmund.diycommon.entity.enumerate.FieldNameEnum;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * <br>参数校验注解
 * <br>所有的Annotation会自动继承java.lang.annotation.Annotation，并不能继承别的接口
 * <br>参数成员只能使用public或默认default这2个访问权修饰
 * <br>参数成员只能用基本数据类型和String、Enum、Class、annotation数据类型以及这一些类型的数组
 * <br>要获取类方法和字段的注解信息，必须通过Java的反射技术来获取Annotation对象，除此之外没有别的获取注解对象的方法
 *
 * @author ylm-sigmund
 * @since 2021/5/24 21:45
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface VerifyParam1 {

    /**
     * 校验入参属性名称
     */
    FieldNameEnum fieldName();
}
